// 二次封装axios
// 1.引入axios
import axios from 'axios';
// 2.创建实例
const instance = axios.create({
    baseURL: '/api', // 基础路径 (一般放的是服务器地址)
    timeout: 6000,  // 超时时间
    headers: { 'X-Custom-Header': 'foobar' }
});
// 3.添加请求拦截器
instance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 4.添加响应拦截器
instance.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    // 处理错误状态码
    if (response.data.code != 200) {
        if (response.data.code == 401) {
            return Promise.reject('无效会话，请重新登录');
        } else if (response.data.code == 403) {
            return Promise.reject('没有访问权限');
        } else if (response.data.code == 404) {
            return Promise.reject('请求资源不存在');
        } else if (response.data.code == 500) {
            return Promise.reject('服务器内部错误');
        }
    }
    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});
// 5.导出实例
export default instance;